home *** CD-ROM | disk | FTP | other *** search
/ C/C++ Users Group Library 1996 July / C-C++ Users Group Library July 1996.iso / vol_400 / 406_01 / atoc / atoc.c < prev    next >
Text File  |  1993-11-09  |  1KB  |  51 lines

  1. /*=========================================================================
  2.  
  3.     ATOC atoc module
  4.  
  5. =========================================================================*/
  6.  
  7. #include <stdio.h>
  8. #include "atoc.h"
  9.  
  10.  
  11. /*-------------------------------------------------------------------------
  12. atoc( fi, fo ) is the top level atoc function.
  13. -------------------------------------------------------------------------*/
  14. atoc( fi, fo )
  15. FILE *fi, *fo;
  16. {
  17.     decflag = FALSE;
  18.     endifcount = 0;
  19.     for ( linenumber = 1; getline( fi, buffer ); ++linenumber )
  20.     {
  21.         if ( strlen( buffer ) )
  22.         {
  23.             comment( buffer );
  24.             preprocessor( fo, buffer );
  25.             keywords( fo, buffer );
  26.             autoaggregates( buffer ); /* must be after keywords() */
  27.             labels( buffer );
  28.             stdmacro( buffer );
  29.             trigraph( buffer );
  30.             constant( buffer ); /* must be after trigraph() */
  31.             function( buffer ); /* must be after comment(), keywords() */
  32.         }
  33.         fprintf( fo, "%s\n", buffer );
  34.         if ( decflag )
  35.         {
  36.             declarations( fo );
  37.             decflag = FALSE;
  38.         }
  39.         if ( exitcode )
  40.             return;
  41.     }
  42.  
  43.     if ( ! endif_stack_empty() )
  44.     {
  45.         error( "Not enough #endif(s)" );
  46.         exitcode = 1;
  47.         return;
  48.     }
  49. }
  50. /*=======================================================================*/
  51.